/*!
\copyright  Copyright (c) 2023 Qualcomm Technologies International, Ltd.
            All Rights Reserved.
            Qualcomm Technologies International, Ltd. Confidential and Proprietary.
\file
\defgroup   audio_startup Audio Startup
\ingroup    audio_domain

\brief      Power on DSP ahead of time to save time later.

*/

#ifndef AUDIO_POWER_H_
#define AUDIO_POWER_H_

#include <message.h>

/*!@{*/

typedef enum
{
    audio_startup_mode_async,
    audio_startup_mode_immediate
} audio_startup_mode_t;

bool AudioStartup_Init(Task init_task);

/*! \brief Audio Prospective On
    \param mode[in] The audio startup mode
*/
void AudioStartup_ProspectiveOn(audio_startup_mode_t mode);

/*! After prospectively starting the audio subsystem, the length of time after
    which the audio subsystem will be powered-off again if still inactive */
#define AudioStartup_ProspectiveAudioOffTimeout() D_SEC(5)

/*!@}*/

#endif /* AUDIO_POWER_H_ */
